Итак, нам нужно научиться менять элемент массива. Для этого можно использовать операцию получения индекса в массиве. Изменим немного предыдущий пример.
MODEL SMALL
STACK 256
DATASEG
Data1 DB 10h DUP (38h)
CODESEG
Start:
mov ax,@data ; установка в ds адpеса
mov ds,ax ; сегмента данных
mov dx,offset Data1 ; указатель на массив символов
mov Data1[15],'$' ; поместить элемент в массив
mov dx,offset Data1
mov ah,09h
int 21h
Exit:
mov ah,04Ch ; функция DOS выхода из программы
mov al,0h ; код возврата
int 21h ; Вызов DOS остановка программы
End Start
По адресу Data1 со смещением 9h помещаем символ окончания строки и это строку выводим. Смотрим результат.

Обратите внимание на то, что символов 15 так как в 15 позицию поместился символ окончания строки.

В отладчике Вы можете увидеть новую команду byte ptr, то есть указатель на байт по адресу куда будет занесены данные. И еще элементов у нас 16, а последний по смещению 15, так как первый по смещению 0. Сразу понятно, почему при работе с массивом во многих языках первый индекс 0. Это просто смещение от начала данных.